Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[bug](function) fix conv function get wrong result as parse overflow #38001

Merged
merged 3 commits into from
Jul 24, 2024

Conversation

zhangstar333
Copy link
Contributor

@zhangstar333 zhangstar333 commented Jul 17, 2024

Proposed changes

mysql> select conv('ffffffffffffff', 24, 2);
+------------------------------------------------------------------+
| conv('ffffffffffffff', 24, 2)                                    |
+------------------------------------------------------------------+
| 1111111111111111111111111111111111111111111111111111111111111111 |
+------------------------------------------------------------------+

before get wrong result as 'ffffffffffffff' have beyond the max value of int64, so get max value: std::numeric_limits<int64_t>::max()


mysql> select conv('ffffffffffffff', 24, 2);
+------------------------------------------------------------------+
| conv('ffffffffffffff', 24, 2)                                    |
+------------------------------------------------------------------+
| 1011111001100011011111100110111101001101111010011011110100110111 |
+------------------------------------------------------------------+
now change it to parse as uint64_t could get result.
But if the value is still overflow, will get max value of uint64_t

@doris-robot
Copy link

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR

Since 2024-03-18, the Document has been moved to doris-website.
See Doris Document.

@zhangstar333
Copy link
Contributor Author

run buildall

Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@doris-robot
Copy link

TPC-H: Total hot run time: 39869 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit dab49278c4c8da970d4c0816a2b51f916faff311, data reload: false

------ Round 1 ----------------------------------
q1	17648	4298	4276	4276
q2	2026	187	187	187
q3	10451	1198	1096	1096
q4	10195	822	927	822
q5	7559	2678	2625	2625
q6	221	138	140	138
q7	965	599	605	599
q8	9216	2049	2073	2049
q9	8695	6518	6566	6518
q10	8823	3766	3751	3751
q11	468	246	248	246
q12	409	228	231	228
q13	18695	2994	3009	2994
q14	270	241	244	241
q15	523	477	494	477
q16	499	376	380	376
q17	982	681	700	681
q18	8042	7603	7440	7440
q19	8199	1472	1399	1399
q20	668	313	330	313
q21	4880	3135	3228	3135
q22	343	278	292	278
Total cold run time: 119777 ms
Total hot run time: 39869 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4416	4277	4214	4214
q2	374	275	253	253
q3	3112	2914	2935	2914
q4	1999	1765	1775	1765
q5	5569	5505	5488	5488
q6	227	141	138	138
q7	2301	1845	1816	1816
q8	3268	3464	3396	3396
q9	8779	8835	8730	8730
q10	4151	3646	3827	3646
q11	628	506	495	495
q12	804	642	628	628
q13	16002	3202	3228	3202
q14	318	281	285	281
q15	520	483	494	483
q16	497	437	425	425
q17	1836	1531	1501	1501
q18	8248	7941	7924	7924
q19	1794	1574	1593	1574
q20	2740	1911	1882	1882
q21	5150	4788	4826	4788
q22	589	534	540	534
Total cold run time: 73322 ms
Total hot run time: 56077 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 173013 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit dab49278c4c8da970d4c0816a2b51f916faff311, data reload: false

query1	934	378	367	367
query2	6435	1922	1826	1826
query3	6663	210	223	210
query4	28328	17316	17119	17119
query5	3662	498	487	487
query6	277	165	186	165
query7	4587	297	297	297
query8	238	193	195	193
query9	8434	2432	2413	2413
query10	433	275	269	269
query11	10751	10249	10001	10001
query12	119	86	82	82
query13	1637	368	366	366
query14	10286	7171	8043	7171
query15	221	171	176	171
query16	7479	311	307	307
query17	1374	556	540	540
query18	1923	277	271	271
query19	193	144	150	144
query20	88	81	84	81
query21	210	130	124	124
query22	4527	4175	3916	3916
query23	34028	33539	34520	33539
query24	11387	2943	2914	2914
query25	554	401	383	383
query26	710	149	150	149
query27	2718	282	293	282
query28	7176	2074	2099	2074
query29	884	626	664	626
query30	253	153	149	149
query31	982	776	767	767
query32	96	55	59	55
query33	764	322	316	316
query34	988	520	502	502
query35	703	592	598	592
query36	1137	979	956	956
query37	152	92	94	92
query38	2985	2833	2858	2833
query39	882	875	909	875
query40	221	128	135	128
query41	50	49	50	49
query42	114	101	100	100
query43	527	482	468	468
query44	1211	747	751	747
query45	197	163	160	160
query46	1100	740	750	740
query47	1862	1768	1775	1768
query48	365	300	311	300
query49	851	433	427	427
query50	786	394	407	394
query51	6907	6811	6811	6811
query52	108	100	100	100
query53	370	300	303	300
query54	884	457	454	454
query55	77	78	78	78
query56	297	276	277	276
query57	1145	1069	1055	1055
query58	257	258	269	258
query59	3008	2676	2788	2676
query60	325	295	296	295
query61	118	118	117	117
query62	772	651	650	650
query63	325	293	296	293
query64	9571	2289	1755	1755
query65	3183	3116	3115	3115
query66	734	349	340	340
query67	15650	14960	14689	14689
query68	8396	575	569	569
query69	739	426	388	388
query70	1105	1157	1115	1115
query71	529	304	279	279
query72	9132	6082	5612	5612
query73	1586	325	322	322
query74	6097	5602	5611	5602
query75	5113	2724	2673	2673
query76	5058	980	1024	980
query77	804	322	331	322
query78	11522	9419	8891	8891
query79	12907	542	524	524
query80	1335	484	472	472
query81	568	221	214	214
query82	607	137	127	127
query83	364	173	169	169
query84	266	82	84	82
query85	748	305	299	299
query86	392	309	293	293
query87	3328	3108	3082	3082
query88	5445	2351	2371	2351
query89	520	387	373	373
query90	2077	191	183	183
query91	127	99	99	99
query92	58	50	49	49
query93	6840	526	519	519
query94	1279	208	216	208
query95	393	305	311	305
query96	613	267	266	266
query97	3210	3049	3070	3049
query98	229	208	205	205
query99	1557	1224	1245	1224
Total cold run time: 309157 ms
Total hot run time: 173013 ms

@doris-robot
Copy link

ClickBench: Total hot run time: 30.51 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit dab49278c4c8da970d4c0816a2b51f916faff311, data reload: false

query1	0.04	0.03	0.03
query2	0.07	0.04	0.03
query3	0.23	0.05	0.04
query4	1.69	0.06	0.07
query5	0.50	0.47	0.50
query6	1.13	0.72	0.72
query7	0.02	0.01	0.02
query8	0.05	0.05	0.05
query9	0.54	0.49	0.49
query10	0.54	0.55	0.54
query11	0.14	0.11	0.12
query12	0.14	0.12	0.13
query13	0.59	0.60	0.58
query14	0.77	0.78	0.77
query15	0.86	0.82	0.80
query16	0.37	0.37	0.34
query17	0.95	0.97	1.01
query18	0.21	0.22	0.21
query19	1.74	1.66	1.69
query20	0.01	0.01	0.01
query21	15.39	0.74	0.66
query22	3.50	8.55	2.06
query23	18.28	1.46	1.20
query24	2.12	0.23	0.22
query25	0.16	0.09	0.09
query26	0.30	0.21	0.21
query27	0.45	0.23	0.23
query28	13.31	1.03	0.99
query29	12.65	3.28	3.25
query30	0.25	0.06	0.05
query31	2.89	0.39	0.39
query32	3.32	0.47	0.47
query33	2.90	2.93	2.88
query34	17.04	4.38	4.39
query35	4.44	4.46	4.38
query36	0.65	0.47	0.48
query37	0.19	0.15	0.15
query38	0.16	0.16	0.15
query39	0.04	0.04	0.03
query40	0.15	0.12	0.13
query41	0.09	0.05	0.04
query42	0.06	0.04	0.04
query43	0.05	0.04	0.04
Total cold run time: 108.98 s
Total hot run time: 30.51 s

@zhangstar333 zhangstar333 changed the title [test](function) [bug](function) fix conv function get wrong result as parse overflow Jul 18, 2024
@zhangstar333
Copy link
Contributor Author

run buildall

Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@doris-robot
Copy link

TPC-H: Total hot run time: 39789 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit 0fa590b1a3bc4e05039e6a7472ba6df34edc18ea, data reload: false

------ Round 1 ----------------------------------
q1	17627	4453	4399	4399
q2	2022	188	205	188
q3	10433	1301	1004	1004
q4	10193	771	806	771
q5	8195	2720	2699	2699
q6	226	142	139	139
q7	968	611	603	603
q8	9298	2061	2064	2061
q9	8771	6584	6532	6532
q10	8798	3771	3716	3716
q11	450	234	237	234
q12	386	227	220	220
q13	17952	2958	3008	2958
q14	273	240	235	235
q15	542	478	496	478
q16	496	385	377	377
q17	964	676	683	676
q18	8141	7541	7375	7375
q19	8938	1424	1335	1335
q20	688	322	332	322
q21	4856	3188	3233	3188
q22	349	282	279	279
Total cold run time: 120566 ms
Total hot run time: 39789 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4376	4224	4211	4211
q2	373	280	274	274
q3	2996	2727	2736	2727
q4	1892	1598	1555	1555
q5	5278	5310	5268	5268
q6	218	129	129	129
q7	2105	1671	1720	1671
q8	3187	3320	3291	3291
q9	8310	8386	8395	8386
q10	3856	3656	3673	3656
q11	581	502	484	484
q12	775	608	589	589
q13	17574	2970	2962	2962
q14	302	281	266	266
q15	537	470	478	470
q16	483	410	420	410
q17	1783	1467	1454	1454
q18	7581	7649	7519	7519
q19	1696	1514	1523	1514
q20	1984	1793	1777	1777
q21	4792	4580	4557	4557
q22	571	498	490	490
Total cold run time: 71250 ms
Total hot run time: 53660 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 173863 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit 0fa590b1a3bc4e05039e6a7472ba6df34edc18ea, data reload: false

query1	921	369	363	363
query2	6459	1921	1871	1871
query3	6649	210	218	210
query4	24730	17639	17148	17148
query5	4205	505	524	505
query6	268	161	166	161
query7	4526	288	295	288
query8	238	190	188	188
query9	8376	2488	2484	2484
query10	429	286	274	274
query11	12235	9997	10064	9997
query12	141	84	82	82
query13	1559	371	387	371
query14	9959	7642	7777	7642
query15	235	160	162	160
query16	8079	318	312	312
query17	1803	545	519	519
query18	2078	299	268	268
query19	194	146	144	144
query20	92	84	78	78
query21	208	128	120	120
query22	4247	4139	3979	3979
query23	33605	33048	33083	33048
query24	11807	2879	2905	2879
query25	634	379	371	371
query26	1747	149	145	145
query27	2907	271	282	271
query28	7725	2046	2030	2030
query29	1005	631	601	601
query30	285	147	145	145
query31	950	764	756	756
query32	89	58	57	57
query33	754	294	327	294
query34	890	491	498	491
query35	678	583	581	581
query36	1096	943	960	943
query37	189	80	85	80
query38	2894	2751	2749	2749
query39	837	820	792	792
query40	284	121	124	121
query41	47	51	43	43
query42	120	95	94	94
query43	525	480	459	459
query44	1194	741	720	720
query45	189	159	160	159
query46	1085	715	709	709
query47	1868	1741	1776	1741
query48	372	289	295	289
query49	1180	424	408	408
query50	783	405	407	405
query51	6867	6808	6792	6792
query52	101	98	89	89
query53	353	295	299	295
query54	852	478	448	448
query55	75	76	73	73
query56	300	264	270	264
query57	1172	1045	1069	1045
query58	256	245	255	245
query59	2780	2800	2637	2637
query60	305	288	281	281
query61	95	91	92	91
query62	835	651	639	639
query63	330	292	293	292
query64	10446	2279	7456	2279
query65	3154	3081	3088	3081
query66	1391	337	334	334
query67	15245	15019	14932	14932
query68	4598	550	567	550
query69	475	345	331	331
query70	1108	1164	1147	1147
query71	406	279	285	279
query72	7250	5712	5364	5364
query73	743	331	327	327
query74	6079	5708	5639	5639
query75	3445	2735	2682	2682
query76	2751	969	918	918
query77	441	318	312	312
query78	9429	9716	9857	9716
query79	5239	579	530	530
query80	1449	474	474	474
query81	566	221	223	221
query82	867	137	138	137
query83	309	170	168	168
query84	272	89	91	89
query85	2031	305	290	290
query86	329	327	318	318
query87	3231	3085	3086	3085
query88	4411	2482	2449	2449
query89	515	393	378	378
query90	1825	193	194	193
query91	130	104	99	99
query92	68	52	51	51
query93	4948	527	510	510
query94	926	217	212	212
query95	413	317	316	316
query96	611	277	280	277
query97	3208	2978	3053	2978
query98	230	193	193	193
query99	1742	1283	1268	1268
Total cold run time: 287972 ms
Total hot run time: 173863 ms

@doris-robot
Copy link

ClickBench: Total hot run time: 30.42 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 0fa590b1a3bc4e05039e6a7472ba6df34edc18ea, data reload: false

query1	0.04	0.04	0.02
query2	0.08	0.04	0.04
query3	0.23	0.06	0.06
query4	1.64	0.10	0.10
query5	0.51	0.49	0.49
query6	1.13	0.72	0.72
query7	0.02	0.01	0.02
query8	0.06	0.05	0.04
query9	0.55	0.49	0.49
query10	0.54	0.54	0.53
query11	0.15	0.11	0.12
query12	0.15	0.12	0.12
query13	0.59	0.59	0.59
query14	0.76	0.75	0.78
query15	0.85	0.80	0.81
query16	0.37	0.35	0.38
query17	1.01	0.99	1.00
query18	0.22	0.22	0.22
query19	1.86	1.72	1.68
query20	0.02	0.01	0.01
query21	15.40	0.74	0.66
query22	4.15	7.40	1.80
query23	18.28	1.39	1.26
query24	2.14	0.24	0.22
query25	0.16	0.08	0.08
query26	0.30	0.20	0.21
query27	0.46	0.25	0.24
query28	13.23	1.01	0.98
query29	12.63	3.27	3.26
query30	0.25	0.06	0.06
query31	2.86	0.39	0.38
query32	3.29	0.48	0.47
query33	2.87	2.95	2.94
query34	17.02	4.35	4.34
query35	4.41	4.38	4.45
query36	0.67	0.46	0.51
query37	0.19	0.15	0.15
query38	0.16	0.15	0.15
query39	0.04	0.03	0.04
query40	0.16	0.12	0.12
query41	0.10	0.04	0.04
query42	0.05	0.04	0.05
query43	0.05	0.04	0.04
Total cold run time: 109.65 s
Total hot run time: 30.42 s

Copy link
Contributor

@zclllyybb zclllyybb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. please also raise a pr to docs to clarify the function behaviour

Copy link
Contributor

PR approved by anyone and no changes requested.

@zhangstar333
Copy link
Contributor Author

run buildall

Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@doris-robot
Copy link

TPC-H: Total hot run time: 40026 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit 47fe09d142a1e199b01b1827fa6241db463606a3, data reload: false

------ Round 1 ----------------------------------
q1	17623	4474	4300	4300
q2	2017	192	194	192
q3	10469	1231	1130	1130
q4	10192	780	789	780
q5	7557	2765	2699	2699
q6	220	135	142	135
q7	962	612	606	606
q8	9223	2132	2070	2070
q9	8807	6579	6611	6579
q10	8736	3783	3780	3780
q11	474	243	236	236
q12	387	229	222	222
q13	17801	2993	2998	2993
q14	295	235	244	235
q15	519	471	483	471
q16	498	378	376	376
q17	978	697	707	697
q18	8264	7591	7393	7393
q19	1604	1461	1311	1311
q20	648	313	318	313
q21	4990	3225	3224	3224
q22	358	292	284	284
Total cold run time: 112622 ms
Total hot run time: 40026 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4270	4297	4265	4265
q2	392	271	268	268
q3	3026	2760	2759	2759
q4	2055	1684	1699	1684
q5	5619	5670	5514	5514
q6	236	139	130	130
q7	2269	1783	1787	1783
q8	3308	3477	3450	3450
q9	8790	8829	8833	8829
q10	4181	3846	3905	3846
q11	606	490	497	490
q12	786	623	647	623
q13	16292	3205	3153	3153
q14	327	290	289	289
q15	533	506	499	499
q16	484	444	442	442
q17	1868	1541	1519	1519
q18	8010	7880	7821	7821
q19	1755	1617	1580	1580
q20	2226	1896	1940	1896
q21	5082	5006	4975	4975
q22	581	509	508	508
Total cold run time: 72696 ms
Total hot run time: 56323 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 174250 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit 47fe09d142a1e199b01b1827fa6241db463606a3, data reload: false

query1	915	377	366	366
query2	6301	1972	1869	1869
query3	6650	206	216	206
query4	28308	17580	17443	17443
query5	3645	467	489	467
query6	273	176	149	149
query7	4583	293	277	277
query8	250	183	206	183
query9	8610	2401	2359	2359
query10	438	296	274	274
query11	10667	10213	10121	10121
query12	115	85	83	83
query13	1651	362	363	362
query14	9490	7786	7795	7786
query15	230	170	172	170
query16	7317	457	459	457
query17	1484	571	533	533
query18	1636	286	284	284
query19	200	159	160	159
query20	92	83	85	83
query21	202	131	126	126
query22	4270	4071	4065	4065
query23	34262	33784	34349	33784
query24	10750	2992	2936	2936
query25	562	422	408	408
query26	724	157	158	157
query27	2261	271	292	271
query28	5850	2066	2036	2036
query29	906	671	660	660
query30	251	151	156	151
query31	976	837	772	772
query32	97	52	55	52
query33	660	333	347	333
query34	901	482	487	482
query35	877	809	781	781
query36	1125	984	992	984
query37	140	79	79	79
query38	2972	2938	2825	2825
query39	941	832	812	812
query40	205	120	120	120
query41	46	43	44	43
query42	115	96	97	96
query43	483	470	447	447
query44	1065	726	717	717
query45	190	160	165	160
query46	1083	733	696	696
query47	1882	1781	1791	1781
query48	361	293	291	291
query49	825	410	404	404
query50	769	382	376	376
query51	6854	6694	6593	6593
query52	100	92	89	89
query53	360	291	290	290
query54	904	436	447	436
query55	74	72	71	71
query56	296	270	261	261
query57	1106	1059	1010	1010
query58	249	249	265	249
query59	2820	2609	2837	2609
query60	311	274	277	274
query61	97	92	121	92
query62	792	657	648	648
query63	321	289	280	280
query64	9099	2207	1682	1682
query65	3159	3112	3114	3112
query66	750	328	321	321
query67	15740	14983	14895	14895
query68	6238	578	528	528
query69	712	440	364	364
query70	1206	1145	1030	1030
query71	456	278	268	268
query72	8092	5620	5661	5620
query73	793	328	317	317
query74	6049	5688	5736	5688
query75	4078	2656	2694	2656
query76	3564	906	955	906
query77	732	299	295	295
query78	9716	8993	9903	8993
query79	5752	523	525	523
query80	1132	480	470	470
query81	584	220	220	220
query82	1282	143	135	135
query83	310	167	169	167
query84	273	87	87	87
query85	1360	322	297	297
query86	456	304	318	304
query87	3291	3130	3119	3119
query88	4359	2358	2382	2358
query89	473	380	372	372
query90	1877	184	188	184
query91	127	99	100	99
query92	58	50	49	49
query93	4868	507	500	500
query94	1284	287	283	283
query95	446	311	318	311
query96	600	273	275	273
query97	3207	3054	3015	3015
query98	208	200	189	189
query99	1608	1242	1253	1242
Total cold run time: 286829 ms
Total hot run time: 174250 ms

@doris-robot
Copy link

ClickBench: Total hot run time: 29.8 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 47fe09d142a1e199b01b1827fa6241db463606a3, data reload: false

query1	0.05	0.04	0.03
query2	0.08	0.04	0.04
query3	0.22	0.05	0.05
query4	1.67	0.07	0.07
query5	0.52	0.49	0.47
query6	1.13	0.73	0.73
query7	0.02	0.01	0.01
query8	0.05	0.04	0.04
query9	0.55	0.50	0.48
query10	0.53	0.54	0.55
query11	0.15	0.11	0.12
query12	0.15	0.12	0.12
query13	0.60	0.59	0.59
query14	0.76	0.79	0.78
query15	0.86	0.81	0.82
query16	0.37	0.35	0.37
query17	0.96	0.97	0.96
query18	0.23	0.22	0.21
query19	1.84	1.69	1.72
query20	0.01	0.01	0.01
query21	15.42	0.78	0.65
query22	4.66	8.20	1.26
query23	18.27	1.37	1.26
query24	2.07	0.24	0.22
query25	0.15	0.08	0.08
query26	0.29	0.21	0.21
query27	0.46	0.23	0.24
query28	13.31	1.02	0.99
query29	12.62	3.30	3.28
query30	0.25	0.05	0.06
query31	2.89	0.39	0.39
query32	3.26	0.47	0.46
query33	2.88	2.96	2.88
query34	17.15	4.33	4.31
query35	4.43	4.39	4.43
query36	0.66	0.46	0.48
query37	0.18	0.16	0.16
query38	0.16	0.15	0.15
query39	0.04	0.03	0.03
query40	0.15	0.13	0.11
query41	0.09	0.05	0.05
query42	0.06	0.05	0.05
query43	0.04	0.05	0.04
Total cold run time: 110.24 s
Total hot run time: 29.8 s

Copy link
Contributor

@HappenLee HappenLee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Jul 23, 2024
Copy link
Contributor

PR approved by at least one committer and no changes requested.

@HappenLee HappenLee merged commit 67e1bc3 into apache:master Jul 24, 2024
25 of 27 checks passed
zhangstar333 added a commit to zhangstar333/incubator-doris that referenced this pull request Jul 24, 2024
…pache#38001)

```
mysql> select conv('ffffffffffffff', 24, 2);
+------------------------------------------------------------------+
| conv('ffffffffffffff', 24, 2)                                    |
+------------------------------------------------------------------+
| 1111111111111111111111111111111111111111111111111111111111111111 |
+------------------------------------------------------------------+

before get wrong result as 'ffffffffffffff' have beyond the max value of int64, so get max value: std::numeric_limits<int64_t>::max()


mysql> select conv('ffffffffffffff', 24, 2);
+------------------------------------------------------------------+
| conv('ffffffffffffff', 24, 2)                                    |
+------------------------------------------------------------------+
| 1011111001100011011111100110111101001101111010011011110100110111 |
+------------------------------------------------------------------+
now change it to parse as uint64_t could get result.
But if the value is still overflow, will get max value of uint64_t
```
dataroaring pushed a commit that referenced this pull request Jul 24, 2024
…38001)

```
mysql> select conv('ffffffffffffff', 24, 2);
+------------------------------------------------------------------+
| conv('ffffffffffffff', 24, 2)                                    |
+------------------------------------------------------------------+
| 1111111111111111111111111111111111111111111111111111111111111111 |
+------------------------------------------------------------------+

before get wrong result as 'ffffffffffffff' have beyond the max value of int64, so get max value: std::numeric_limits<int64_t>::max()


mysql> select conv('ffffffffffffff', 24, 2);
+------------------------------------------------------------------+
| conv('ffffffffffffff', 24, 2)                                    |
+------------------------------------------------------------------+
| 1011111001100011011111100110111101001101111010011011110100110111 |
+------------------------------------------------------------------+
now change it to parse as uint64_t could get result.
But if the value is still overflow, will get max value of uint64_t
```
yiguolei pushed a commit that referenced this pull request Jul 25, 2024
…overflow (#38001) (#38309)

## Proposed changes

cherry-pick from #38001

<!--Describe your changes.-->
@yiguolei yiguolei mentioned this pull request Sep 5, 2024
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by one committer. dev/2.1.6-merged dev/3.0.1-merged reviewed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants